package com.cskaoyan.javase.method._1detail;

/**
 * 方法使用的细节问题二(重点):
 *
 * 方法的形参列表中,明确规定了方法调用时,传入实参的数据类型
 * 那么实参的数据类型和形参的数据类型需要完全保持一致吗?
 * 并不需要,而是需要保持"兼容"
 *
 * 何为兼容呢?
 * 考虑数据类型的自动类型转换
 * 如果实参的数据类型能够自动类型转换到形参数据类型
 * 那么该实参数据类型变量就能够作为该方法的实参传入方法
 *
 * 引申/扩展/举一反三:
 *      1.既然方法的实参数据类型和形参数据类型,具有以上特点
 *          那么方法的具体返回值数据类型和返回值类型有以上特点吗?
 *          答案是有的
 *
 *      2.上面所讲的全部都是基本数据类型的自动类型转换
 *          而引用数据类型也具有自动类型转换
 *          那么引用数据类型也具有以上特点吗?
 *          答案是有的
 *          (挖个坑,以后再填)
 *
 * @since 14:31
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        test(100);
        byte a = 10;
        short b = 20;
        char c = 30;
        test(a);
        test(b);
        test(c);
        test2(100L);
        /*double dd = 1999999999999999999L;
        System.out.println(dd);*/
    }

    public static long test3(){
        // return 100L;
        // return 100;
        byte a = 100;
        return a;
    }
    public static void test(int num) {
    }
    public static void test2(double num){
    }
}
